#ifndef MDDRIVER_H
#define MDDRIVER_H

	#define MD MD5

	/* Length of test block, number of test blocks.
	 */

	#define TEST_BLOCK_LEN 1000
	#define TEST_BLOCK_COUNT 1000

	void MDString (char *in, unsigned char digest[16] );
	void MDTestSuite (void);
	void MDFilter (void);
	void MDPrint (unsigned char digest[16]);

	#define MD_CTX MD5_CTX
	#define MDInit MD5Init
	#define MDUpdate MD5Update
	#define MDFinal MD5Final
	
	/* structure permettant de stocker les timings */
	typedef struct {
	  long start_utime;
	  long start_stime;
	  long stop_utime;
	  long stop_stime;
	} chronographe;

	#define CHRONO_START   0
	#define CHRONO_STOP    1

#endif
